class clustering_means //Riemmannian Manifold
{
public:
  // Riemmannian clustering
  inline	clustering_means( std::string in_video_path, field<std::string> in_frames_list, uword in_ro, uword in_co, std::string in_tosavein);
  inline	clustering_means(std::string load_means,std::string save_part, std::string GT, int summ_percentage,  std::string video_path, field<std::string> frames_list );

  
  
  //inline	void euc_cluster(std::string save_ker, std::string save_part, std::string GT, int summ_percentage); //Using Euclidean kmeans. m used to selec the top m eigenvectors
  //inline 	uvec get_performance();
  
private:
  
  field<std::string> frames_list;
  std::string video_path;
  std::string tosavein;
  std::string GT;
  bool Init;
  uword 	Ncent;
  uvec performance;
  uword co;
  uword ro;
  double t;
  double nf ;
  bool isBlock;
  double ni;
  cv::Mat prevImg, currentImg, nextImg;

  
  //uword	N_points;
  
  
  
  inline void precalculate_features();
  inline vec creating_RiemmannPoint_temporal(cv::Rect rec);
  inline void load_frames(uword prevIdx, uword  currIdx, uword  nextIdx);
  inline void showing_summary(uvec vec_summ);
  inline void show_partitions();

};